package com.ruoyi.system.mapper;

import java.util.List;
import com.ruoyi.system.domain.MbtiTestType;

/**
 * MBTI测试类型Mapper接口
 * 
 * @author ruoyi
 * @date 2025-01-21
 */
public interface MbtiTestTypeMapper 
{
    /**
     * 查询MBTI测试类型
     * 
     * @param testTypeId MBTI测试类型主键
     * @return MBTI测试类型
     */
    public MbtiTestType selectMbtiTestTypeByTestTypeId(Long testTypeId);

    /**
     * 查询MBTI测试类型列表
     * 
     * @param mbtiTestType MBTI测试类型
     * @return MBTI测试类型集合
     */
    public List<MbtiTestType> selectMbtiTestTypeList(MbtiTestType mbtiTestType);

    /**
     * 查询所有可用的MBTI测试类型
     * 
     * @return MBTI测试类型集合
     */
    public List<MbtiTestType> selectAvailableTestTypes();

    /**
     * 根据类型编码查询MBTI测试类型
     * 
     * @param typeCode 类型编码
     * @return MBTI测试类型
     */
    public MbtiTestType selectMbtiTestTypeByTypeCode(String typeCode);

    /**
     * 新增MBTI测试类型
     * 
     * @param mbtiTestType MBTI测试类型
     * @return 结果
     */
    public int insertMbtiTestType(MbtiTestType mbtiTestType);

    /**
     * 修改MBTI测试类型
     * 
     * @param mbtiTestType MBTI测试类型
     * @return 结果
     */
    public int updateMbtiTestType(MbtiTestType mbtiTestType);

    /**
     * 删除MBTI测试类型
     * 
     * @param testTypeId MBTI测试类型主键
     * @return 结果
     */
    public int deleteMbtiTestTypeByTestTypeId(Long testTypeId);

    /**
     * 批量删除MBTI测试类型
     * 
     * @param testTypeIds 需要删除的数据主键集合
     * @return 结果
     */
    public int deleteMbtiTestTypeByTestTypeIds(Long[] testTypeIds);

    /**
     * 校验类型编码是否唯一
     * 
     * @param typeCode 类型编码
     * @return 结果
     */
    public MbtiTestType checkTypeCodeUnique(String typeCode);
}
